The present invention relates generally to computer systems and methods, and will be specifically disclosed as a method and apparatus for characterizing and retrieving query results.
The virtual explosion of technical advances in microelectronics, digital computers and software have changed the face of modern society. In fact, these technological advances have become so important and pervasive that this explosion is sometimes referred to as xe2x80x9cthe information revolution.xe2x80x9d Through telephone lines, cables, satellite communications and the like, information and resources are ever increasingly being accessed and shared.
A request for information is called a query. Very often, particularly with remotely networked computers (such as the Internet), the retrieval of information or data responsive to a query is slow or otherwise expensive to retrieve. For instance, the retrieval of information from a remote location is limited by the speed of the connection, which is sometimes referred to as bandwidth. In the case of the Internet, the bandwidth is typically limited by the throughput capability of a modem or the remote computer from which information is being retrieved.
Once information is retrieved, it is often desirable to store the information locally, where it can be quickly and easily accessed. One such example of local storage is volatile or nonvolatile cache memory. Local storage is a relative term depending upon the source of the information and can include many variations. For instance, information retrieved over the Internet from a distant server could be stored locally in a server within a local network. As a further example, information retrieved from a server on a local network could be stored locally on a workstation. While local storage of information has an advantage of quick and inexpensive retrieval, it is desirable for such information to be organized for subsequent retrieval. In part, the present invention provides a method and means for characterizing query results for subsequent retrieval.
Accordingly, an aspect of the invention is to provide a method and system for characterizing and retrieving data. Additional aspects, advantages and novel features of the invention will be set forth in the description that follows and, in part, will become apparent to those skilled in the art upon examining or practicing the invention. The aspects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
In one aspect of the invention, a method is used to characterize query results. One or more informational resources are queried and the query results are received. The filter arguments, filter values, data set names, and data item labels corresponding to the query results are determined. The query results are registered in cache based on the filter arguments, filter values, data set names, and data item labels. Using the registration, the query results from the cache are retrieved.
Another aspect of the invention is a reference to data values stored on a computer readable medium. The data values arc responsive of a query to a data set on an informational resource, the data set having a data set name. The query has one or more filter arguments, one or more filter values and one or more data items labels. The reference includes a first identifier corresponding to the data set name of a data set on the informational resource. A second identifier corresponds to the filter arguments of the query. A third identifier corresponds to the filter values of the query. A fourth identifier corresponds to the data item labels of the query.
Yet another aspect of the present invention is a method for retrieving data values using a reference. The reference corresponds to data values stored on the computer readable medium. A query is received which includes one or more data set names, one or more filter arguments, one or more filter values, and one or more data item labels. It is determined whether the data set names in the query correspond to a first identifier in the reference, whether the filter arguments in the query correspond to a second identifier in the reference, whether the filter values of the query correspond to a third identifier in the reference, and whether the data item labels of the query correspond to a fourth identifier in the reference. If all of the determinations are affirmative, then at least a portion of the data values are retrieved from the computer readable medium.
Moreover, methods of returning and managing query results are provided, wherein a query is received, parsed into its arguments, and normalized. A cache is then searched for the query and results data responsive to the query, if the query and results data are present in the cache, they are returned. Further, if partial results data exists in the cache then the missing results data are obtained and associated with the query in the cache and a complete response is returned including an assembled results data responsive to the original query.
Furthermore, a system for retrieving queries is provided comprising one or more data stores housing responsive query data to a query, a query registration set of executable instructions operable to receive a normalized query and record the query along with the responsive query data in a managing data store, and a notification set of executable instructions operable to send a notification to the managing data store if at least a portion of the responsive query data is modified when associated with the query.
Additionally, functional data is provided operable to optimize a response to a query and to index queries and query results, the functional data comprising query data and query results data responsive to the query. Further, sender data and period data may be associated with the query data. Normalization instruction data and managing instruction data are operable to parse and normalize the query and results data, searching for query data in a cache or query data store and operable to obtain and assemble results data as needed to satisfy the query data from the cache, the query data store, or one or more external data stores. Moreover, response instruction data is operable to return the query results data associated with the query data.
Still other aspects of the present invention will become apparent to those skilled in the art from the following description of a preferred embodiment, which is by way of illustration, one of the best modes contemplated for carrying out the invention. As will be realized, the invention is capable of other different and obvious aspects, all without departing from the invention. Accordingly, the drawings and descriptions are illustrative in nature and not restrictive.